---
title: "SQL-010: Policy minimum premium procedure"
summary: Retrieve minimum premium and expense constant via stored procedure
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.Policy
reference_type: embedded
---

# SQL-010 Policy minimum premium procedure

Calls the Oracle stored procedure `pk73069_rating_procs.get_minimum_expense_constant` to retrieve the minimum premium amount and expense constant amount for a premium-history set ID, consumed by `PolicyInformation.PolicyMinimumPremium`.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-010 |
| **Operation type** | Read (Execute) |
| **Execution method** | Stored procedure (`CommandType.StoredProcedure`) |
| **Database** | Oracle |
| **Schema** | `[unqualified]**` |
| **Command type** | StoredProcedure |
| **Business object** | N/A (Application layer) |
| **Criteria property** | N/A |
| **Lifecycle method** | N/A |
| **Application class** | `PolicyInformation` (property `PolicyMinimumPremium`, Get) |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `in_prem_hist_set_id` | Input | Decimal (`inPremHistSetID`) | N/A | Premium-history set ID passed to the stored procedure.** (Actual PL/SQL parameter type/definition not confirmed — procedure source not retrieved this run.) |
| `out_minimum_premium_amount` | Output | Decimal (`MinPremium`) | N/A | Minimum premium amount returned by the procedure.** |
| `out_expense_constant_amount` | Output | Decimal (`ExpenseConstant`) | N/A | Expense constant amount returned by the procedure; read into a local variable but never consumed by the caller (`PolicyMinimumPremium` only returns `MinPremium`).* |

## Tables

No tables — opaque stored-procedure call; body resides in the Oracle database. See [pk73069_rating_procs](../procedures/pk73069-rating-procs.md).

## Sample SQL

```sql
-- Stored procedure call
CALL pk73069_rating_procs.get_minimum_expense_constant(
  :in_prem_hist_set_id,
  :out_minimum_premium_amount,
  :out_expense_constant_amount)
-- Procedure body resides in Oracle database
```

The call signature above is reconstructed from the ordered `AddParm()` calls in the calling code — actual positional binding order is as shown.*

## Failure and edge-case behavior
- Execution is wrapped in `Try...Catch` with an **empty Catch block** — any provider/database exception is silently swallowed.** Whether this is an intentional "default to zero" behavior or an unhandled-error gap could not be confirmed from source alone.
- If `Result` is not `Nothing`, the output parameter `out_minimum_premium_amount` is read as the return value; otherwise `0` is returned.

## Operations and processes
- [Determine policy minimum premium](../operations/determine-policy-minimum-premium.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `SAIF.Business.Policy\PolicyInformation.vb`
